For a description of the terminology used in this document, see the chapter in the Optima++ documentation entitled "Writing Internet Applications". A Server system on the World Wide Web can send the contents of files to a User system, running a browser. Using the Starbuck Java target template "Java WWW Server Application", you can write a Server application that can dynamically create the information that will be displayed by the User system. Your application can use the PrintStream class to output HTML to the User system, and access common Web Server variables and form contents. In addition, you can use the power of Java to open sockets on another system, use JDBC to access a server database, dynamically load other Java classes, or load/execute native methods from a DLL. Persistent Classes If you are using either the Netscape or Microsoft Servers with the NSAPI or ISAPI interfaces, your application can be persistent. It will be loaded into memory once, and can be re-executed repeatedly without delay. You can use the Session object to maintain information for a user connection (across multiple requests). Any static class objects in your application will be available for all requests. Supported Servers: o Microsoft Internet Information Server (IIS) using the ISAPI interface, with persistent Java execution. o Netscape Commerce and Fasttrack servers, using the NSAPI interface, with persistent Java execution. o O'Reilly WebSite using the ISAPI emulation (but see restrictions below). o any Web server that supports Common Gateway Interface (CGI) programs. Restrictions: o your server must be running on a Windows 95 or Windows NT system. o if you are using the Common Gateway Interface (CGI), session information is not available -- your Java application will be reloaded for each request. o if you are using the Microsoft ISAPI interface in the O'Reilly WebSite server, your Java application will be reloaded for each request. Like CGI, session information will be unavailable. o the Microsoft Java Virtual Machine (VM) is used to run the application. You must have installed the Java VM on the server machine. For Netscape servers, the embedded Netscape Java VM is *not* used. Bugs: o this beta has a bug whereby garbage collection in the Microsoft Java VM will cause the application to fail. We anticipate a fix shortly.